package com.run2code.design.behavioral.strategy.demo01;

import com.run2code.design.behavioral.strategy.Type;
import com.run2code.design.behavioral.strategy.User;

/**
 * 根据需求一把梭
 * 关注公众号【奔跑的码畜】，一起进步不迷路
 *
 * @author 第七人格
 * @date 2023/12/25
 */
public class Welfare {

    // 发放福利的方法
    public void sendWelfare(User user, Type type) {
        switch (type) {
            case COUPON:
                sendCoupon(user);
                break;
            case POINTS:
                sendPoints(user);
                break;
            case IMAGE_TEXT:
                sendImageText(user);
                break;
            default:
                throw new IllegalArgumentException("Invalid welfare type");
        }
    }

    // 发放券的方法
    private void sendCoupon(User user) {
        // 在这里实现发放券的逻辑
        System.out.println("Sending coupon to " + user.getName());
    }

    // 发放积分的方法
    private void sendPoints(User user) {
        // 在这里实现发放积分的逻辑
        System.out.println("Sending points to " + user.getName());
    }

    // 发放图文的方法
    private void sendImageText(User user) {
        // 在这里实现发放图文的逻辑
        System.out.println("Sending image text to " + user.getName());
    }
}


